1. Field of the Invention
The present invention relates to electronic design automation. More specifically, the present invention relates to methods and apparatuses for simulating behavioral constructs using indeterminate values.
2. Related Art
Rapid advances in computing technology have been made possible by sophisticated simulation and verification. Indeed, without such tools it would be almost impossible to verify complicated integrated circuits which are commonly found in today's computing devices.
In the early stages of an electronic design flow, a design is usually described at a high level of abstraction, and in later stages the design is described at progressively lower levels of abstraction. Simulations that are performed at a higher level of abstraction usually execute faster than simulations that are performed at lower levels of abstraction, because each event or operation at the higher level of abstraction maps to multiple events or operations at the lower level of abstraction. However, simulations at the lower level of abstraction are usually more accurate than the simulations at the higher level of abstraction because the simulations at the lower level of abstraction are more detailed than the simulations at the higher level of abstraction.
To reduce design time, it is usually desirable to accurately identify errors as early as possible in the design flow. If an error is identified at a later stage, it can substantially increase the design time because a number of stages in the design flow will most likely have to be repeated for the debugged design. Hence, it is usually desirable to ensure that the simulations at different levels of abstraction are consistent with one another, because otherwise an error may only be found at a later stage when a simulation at a lower level of abstraction is performed on the design.